<?php
/**
 * 封装异步执行模型.
 */

namespace App\Model;
use EasySwoole\Core\Swoole\Task\AbstractAsyncTask;
use think\Db;

class Runner extends AbstractAsyncTask
{
    /**
     * 执行任务的内容.
     * @param mixed $taskData     任务数据
     * @param int   $taskId       执行任务的task编号
     * @param int   $fromWorkerId 派发任务的worker进程号
     * @author : evalor <master@evalor.cn>
     */
    public function run($taskData, $taskId, $fromWorkerId)
    {
        // 需要注意的是task编号并不是绝对唯一
        $task = Queue::pop();
        if ($task instanceof TaskBean) {
            $urlData = $task->getUrl();
            $return = Wx::wxhttpRequest($urlData['domain'].'/'.$urlData['postfix']);
            // Db::name('wxurlscheck')->insert(['json_str' => json_encode($return, JSON_UNESCAPED_UNICODE), 'check_time' => date('Y-m-d H:i:s')]);
            Curl::httpRequest('https://love.163ar.cn/api/home/jss/jss/'.json_encode($return, JSON_UNESCAPED_UNICODE), 'GET');
            if ($return['status'] == 2) {
                 Db::name('wxurls')->where('id', $urlData['id'])->update(['status' => 0, 'seal_time' => time()]);
               // 判断一二跳域名
                if($urlData['type'] == 1){  // 项目ID:".$urlData['id'].'广告名称'.$urlData['admin']
Curl::httpRequest('https://wechat.4fl.com.cn/newapi/sms/urlNotice/name/项目ID:'.$urlData['id'].'广告名称'.$urlData['admin'].'/pid/'.$urlData['pid'], 'GET');
               }
Curl::httpRequest('https://wechat.4fl.com.cn/newapi/Template/sendOneWX/first/'.'广告名称'.$urlData['admin'].'/remark/项目ID:'.$urlData['id'].'广告名称'.$urlData['admin'].'域名'.$urlData['domain'].'发现域名已被封,请马上处理!!系统V3 为保证正常接收消息,收到请回复~谢谢!!'.'/pid/'.$urlData['pid'], 'GET');
//微信提醒
            } elseif ($return['status'] == 3) {
                //系统失效
                Curl::httpRequest('https://wechat.4fl.com.cn/api/other/batchSendMsg', 'POST', ['id' => 111, 'openid' => [
                    'olDrH0tNRPEOlWXwx3lEzb-Tb_UM',
                    'olDrH0rl6bB3W3EPr4YHhKUWRiGw',
                    'olDrH0nPGGt978NTyHASDzp0MtVU',], 
                    'content' => '['.date('Y-m-d H:i:s')."]\n检测系统check1疑似失效,请管理员检查!!为保证正常接收消息,收到请回复~谢谢!!"]);
            }
        }
    }

    /**
     * 任务执行完的回调.
     *
     * @param mixed $result  任务执行完成返回的结果
     * @param int   $task_id 执行任务的task编号
     * @author : evalor <master@evalor.cn>
     */
    public function finish($result, $task_id)
    {
        // 任务执行完的处理
    }
}
